if SERVER then
	registerCommand("goto", "Brings you to the player you specify", function(param)
		if not param[1]:IsValid() then
			return nil
		end
		
		local gotoMsg = "caller teleported to target"
		local gotoSound = "ambient/machines/teleport3.wav" //teleport1.wav also sounds nice
		if param["settings"]["goto_msg"] then
			gotoMsg = param["settings"]["goto_msg"]
		end
		if param["settings"]["goto_sound"] then
			gotoSound = param["settings"]["goto_sound"]
		end
		local gotoTable = {}
		gotoTable["caller"] = getCaller(param[1])
		local targ = string.Explode(" ", param[3])[1]
		local plyTarg = getPlayerByName(targ)
		if plyTarg then
			gotoTable["target"] = plyTarg:GetName()
			local telePos = plyTarg:GetPos() + Vector(35, 35, 0)
			local prop = ents.Create("prop_physics")
			prop:SetModel("props_wasteland/controlroom_filecabinet002a")
			prop:SetPos(telePos)
			prop:PhysicsInit()
			prop:PhysWake()
			if prop:IsInWorld() then
				param[1]:SetPos(telePos)
				param[1]:EmitSound(gotoSound)
				display(param[1], "goto", { plyTarg }, parseDisplayMessage(gotoMsg, gotoTable))
			end
			prop:Remove()
		end
	end)
end